import os
import sys

sys.path.append(os.path.abspath('.'))

# 导入扩展和应用
from extensions import db
from app import app

with app.app_context():
    # 在应用上下文中导入模型
    from models import Event, Booking, DateQuota, User
    try:
        db.create_all()
        print('数据库表创建成功')

        # 添加默认管理员用户（如果不存在）
        admin_user = User.query.filter_by(username='admin').first()
        if not admin_user:
            admin_user = User(username='admin', is_admin=True)
            admin_user.set_password('mimashi123')
            db.session.add(admin_user)
            db.session.commit()
            print('默认管理员用户已创建: 账号admin, 密码mimashi123')
        else:
            print('管理员用户已存在')

        print('数据库初始化完成')
    except Exception as e:
        print(f'数据库初始化失败: {str(e)}')